      // {
      //   "pagePath": "pages/chapter/logs",
      //   "text": "记录",
      //   "iconPath": "static/bookRecord.png",
      //   "selectedIconPath": "static/selectBookRecord.png"
      // }





// 下拉刷新事件"enablePullDownRefresh": true
// 上拉触底设置触发距离onReachBottomDistance


// 小程序提供了原生的Tabbar支持，我们可以在app.json声明tabBar字 段来定义Tabbar页
// {
//   "tabBar": {
//     "list": [
//       { "text": "Tab1", "pagePath": "pageA" },
//       { "text": "Tab1", "pagePath": "pageF" },
//       { "text": "Tab1", "pagePath": "pageG" }
//     ]
//   }
// }

// 用户转发 onShareAppMessage
// page.js
// Page({
//   onShareAppMessage: function () {
//     return {
//       title: '自定义转发标题',
//       path: '/page/user?id=123'
//     }
//   }
// })

// 表3 - 5 页面路由触发方式及页面生命周期函数的对应关系
// 路由方式	触发时机	路由前页面生命周期	路由后页面生命周期
// 初始化	小程序打开的第一个页面		onLoad, onShow
// 打开新页面 调用	API wx.navigateTo	onHide	onLoad, onShow
// 页面重定向 调用	API wx.redirectTo	onUnload	onLoad, onShow
// 页面返回 调用	API wx.navigateBack	onUnload	onShow
// Tab	切换 调用 API wx.switchTab	请参考表3 - 6	请参考表3 - 6
// 重启动	调用 API wx.reLaunch	onUnload	onLoad, onShow


// 表3 - 6 页面路由触发方式及页面生命周期函数的对应关系
// 当前页面	路由后页面	触发的生命周期（按顺序）
// A	A	无
// A	B	A.onHide(), B.onLoad(), B.onShow()
// A	B(再次打开)	A.onHide(), B.onShow()
// C	A	C.onUnload(), A.onShow()
// C	B	C.onUnload(), B.onLoad(), B.onShow()
// D	B	D.onUnload(), C.onUnload(), B.onLoad(), B.onShow()
// D(从转发进入)	A	D.onUnload(), A.onLoad(), A.onShow()
// D(从转发进入)	B	D.onUnload(), B.onLoad(), B.onShow()


// 表2 - 2 小程序WXSS支持的选择器
// 类型	选择器	样例	样例描述
// 类选择器.class.intro	选择所有拥有 class="intro" 的组件
// id选择器	#id	#firstname	选择拥有 id = "firstname" 的组件
// 元素选择器	element	view checkbox	选择所有文档的 view 组件和所有的 checkbox 组件
// 伪元素选择器:: after	view:: after	在 view 组件后边插入内容
// 伪元素选择器:: before	view:: before	在 view 组件前边插入内容